Loading libraries & data, and adding some metadata

pikes_data <- read_csv("data/PP_raman_data.csv")
## Parsed with column specification:
## cols(
##   Sample_Name = col_character(),
##   grain = col_double(),
##   `Spot number` = col_double(),
##   FWHM = col_double(),
##   raman_shift = col_double()
## )
evans_data <- read_csv("data/ME_Raman Data.csv")
## Parsed with column specification:
## cols(
##   Sample_Name = col_character(),
##   grain = col_character(),
##   `Spot number` = col_double(),
##   FWHM = col_double(),
##   raman_shift = col_double()
## )
Nasdala_idealized_line <- read_csv("data/Nasdala.csv")
## Parsed with column specification:
## cols(
##   Nasdala_FWHM = col_double(),
##   Nasdala_shift = col_double()
## )
pikes_zhe <- read_csv("data/Pikes_Data_for_R .csv")
## Parsed with column specification:
## cols(
##   Sample = col_character(),
##   Grain = col_character(),
##   Elevation = col_double(),
##   Corr_Date = col_double(),
##   eU = col_double(),
##   eU_unc = col_double(),
##   Corr_date_unc = col_double(),
##   r = col_double(),
##   Mass = col_double(),
##   length = col_double(),
##   FT = col_double(),
##   U = col_double(),
##   Th = col_double(),
##   Sm = col_double(),
##   He = col_double(),
##   Raw_date = col_double()
## )

Modify the sample names for ease of reading, where PP stands for Pikes Peak, ME stands for Mt. Evans. Samples are numbered from 1 - 6 with the lowest elevation sample being 1 and highest elevation sample being.

pikes_data <- pikes_data %>% 
    mutate (
      Peak = "Pikes Peak",
      papername = 
        ifelse(Sample_Name == "PP2084", "PP1", #If True, add label PP2
          ifelse( Sample_Name == "PP2479", "PP2", #If True, add label PP2
            ifelse (Sample_Name == "PP2907", "PP3", #If true, add label PP3
              ifelse (Sample_Name == "PP3597", "PP4", #If true, add label PP4
                ifelse (Sample_Name == "PP3971", "PP5", "PP6")     #if true, add label PP5, ELSE add the label PP6
                    )      
                  )
                )
              )
    )

evans_data <- evans_data %>% mutate(
  Peak = "Mount Evans",
  papername = ifelse (Sample_Name == "ME10", "ME1_2872",
                ifelse (Sample_Name == "ME8", "ME2_3596", 
                  ifelse (Sample_Name == "ME3", "ME3_3978",  
                          "ME4_4345")
                )
              )
            )

pikes_zhe <- pikes_zhe %>% mutate (
      Peak = "Pikes Peak",
      papername = 
        ifelse(Sample == "PP2084", "PP1", #If True, add label PP2
          ifelse( Sample == "PP2479", "PP2", #If True, add label PP2
            ifelse (Sample == "PP2907", "PP3", #If true, add label PP3
              ifelse (Sample == "PP3597", "PP4", #If true, add label PP4
                ifelse (Sample == "PP3971", "PP5", "PP6")     #if true, add label PP5, ELSE add the label PP6
                    )      
                  )
                )
              )
    )

Some very light statistics

This chunk uses the raman_summary function that can be found in the scripts folder in the “Custom Functions.R” file

pikes_flatlist <- pikes_data %>% 
  group_by(papername, grain) %>% 
  raman_summary()
view(pikes_flatlist)

evans_flatlist <- evans_data %>% 
  group_by(papername, grain) %>% 
  raman_summary()

view(evans_flatlist)
dated_grains <- pikes_flatlist %>% 
  filter (papername == "PP1") %>% 
  filter (grain == 23 | grain == 31 | grain == 32 | grain == 33 | grain == 36) %>% 
  select (grain, FWHM_median, FWHM_sd) 
## Adding missing grouping variables: `papername`
dated_grains <- dated_grains %>% 
  bind_rows(
    pikes_flatlist %>%
      filter (papername == "PP3") %>% 
      filter (grain == 17 | grain == 21 | grain == 27) %>% 
        select (grain, FWHM_median, FWHM_sd) 
)
## Adding missing grouping variables: `papername`
dated_grains %>% ggplot() + aes (FWHM_median, FWHM_sd, color = papername) + geom_point() + theme_figure() + scale_x_continuous(expand = c(0,0), limits = c(0,36))+
  scale_y_continuous(expand = c(0,0), limits = c(0,12))

Main text figures

#Figure 2a
evans_violin <- evans_data %>% 
  filter(papername != "NA") %>% 
  ggplot()+
    geom_violin(aes(papername, FWHM, fill = Sample_Name), scale = "count", na.rm = TRUE, draw_quantiles = c(0.25, 0.5, 0.75))+
    scale_fill_manual(values = c("#FDE0A1", "#782281", "#EA5661"))+
    scale_y_continuous(expand = c(0,0), limits = c(0,36))+
    ylab(TeX('$\\FWHM (cm^{-1})')) +
    theme_classic()+
    theme(
      panel.border=element_rect(fill=NA,size = 1),
      text = element_text(size = 12),
      legend.position = "none", 
      axis.ticks = element_line(color="black"),
      axis.line = element_line(color = NA),
      axis.text.y = element_text(color = "black", size = 12),
      axis.text.x = element_text (color = "black", size = 12),
      axis.title.x = element_blank()
    )

print(evans_violin)

#Figure 2b
evans_grain_summary <- evans_flatlist %>% filter(papername != "NA") %>% 
  ggplot()+
  geom_point(aes(FWHM_median, FWHM_sd, fill = papername), pch=24, size=4)+
  scale_fill_manual(values = c("#782281", "#EA5661", "#FDE0A1"))+
  scale_x_continuous(expand = c(0,0), limits = c(0,36))+
  scale_y_continuous(expand = c(0,0), limits = c(0,12))+
    xlab(TeX("median value of of FWHM $\\(cm^{-1})$"))+
    ylab(TeX("standard deviation of FWHM $\\(cm^{-1})$")) +
    theme_classic()+
    theme(
      panel.border=element_rect(fill=NA,size = 1),
      text = element_text(size = 12),
      legend.position = "none", 
      axis.ticks = element_line(color="black"),
      axis.line = element_line(color = NA),
      axis.text.y = element_text(color = "black", size = 12),
      axis.text.x = element_text (color = "black", size = 12),
      axis.title.x = element_blank()
    )
evans_grain_summary

#Figure 2c
pikes_violin <- pikes_data %>% 
  ggplot()+
    geom_violin(aes(papername, FWHM, fill = papername), scale = "count", draw_quantiles = c(0.25, 0.5, 0.75))+
    scale_fill_manual(values = c("#000004", "#7D2482", "#FD9A6A"))+
    scale_y_continuous(expand = c(0,0), limits = c(0,36))+
    ylab(TeX('$\\FWHM (cm^{-1})')) +
    theme_classic()+
    theme(
      panel.border=element_rect(fill=NA,size = 1),
      text = element_text(size = 12),
      legend.position = "none", 
      axis.ticks = element_line(color="black"),
      axis.line = element_line(color = NA),
      axis.text.y = element_text(color = "black", size = 12),
      axis.text.x = element_text (color = "black", size = 12),
      axis.title.x = element_blank()
    )
print(pikes_violin)

#Figure 2d
pikes_grain_summary <- pikes_flatlist %>% filter(papername != "NA") %>% 
  ggplot()+
  geom_point(aes(FWHM_median, FWHM_sd, fill = papername), pch=22, size=4)+
  scale_fill_manual(values = c("#000004", "#7D2482", "#FD9A6A"))+scale_x_continuous(expand = c(0,0), limits = c(0,36))+
  scale_y_continuous(expand = c(0,0), limits = c(0,12))+
  geom_point(data = dated_grains, aes( FWHM_median, FWHM_sd), color = "white", pch =16, size =1) +
    xlab(TeX("median value of of FWHM $\\(cm^{-1})$"))+
    ylab(TeX("standard deviation of FWHM $\\(cm^{-1})$")) +
    theme_classic()+
    theme(
      panel.border=element_rect(fill=NA,size = 1),
      text = element_text(size = 12),
      legend.position = "none", 
      axis.ticks = element_line(color="black"),
      axis.line = element_line(color = NA),
      axis.text.y = element_text(color = "black", size = 12),
      axis.text.x = element_text (color = "black", size = 12),
      axis.title.x = element_blank()
    )
pikes_grain_summary
## Warning: Removed 15 rows containing missing values (geom_point).

Supplementary text figures

Figure S3

Figure S4

pikes_bygrain_subplot1 <- pikes_data %>% 
  filter (papername == "PP1") %>% 
  filter (grain <= 22)%>% 
          raman_bygrain_figure()+ 
          labs(title = "PP1")+
          theme_figure()+
          guides(linetype = guide_legend(label.hjust = 0, label.vjust = 0.5, keyheight = 2),
           color="legend", 
           legend.position="bottom",
           fill=guide_legend(ncol=2))
            
pikes_bygrain_subplot2 <- pikes_data %>% 
  filter (papername == "PP1") %>%
  filter (grain > 22 & grain <=31) %>% 
        raman_bygrain_figure()+
          labs(title = "PP1")+
          theme_figure()+
          guides(linetype = guide_legend(label.hjust = 0, label.vjust = 0.5, keyheight = 2),
           color="legend", 
           legend.position="bottom",
           fill=guide_legend(ncol=2))
    

pikes_bygrain_subplot3 <- pikes_data %>% 
  filter (papername == "PP1") %>% 
  filter (grain > 31) %>%
    raman_bygrain_figure()+ 
    labs(title = "PP1")+
    theme_figure()+
    guides(linetype = guide_legend(label.hjust = 0, label.vjust = 0.5, keyheight = 2),
            color="legend", 
            legend.position="bottom",
            fill=guide_legend(ncol=2))
        
pikesbygrain_subplot4 <- pikes_data %>% 
  filter (papername == "PP3") %>% 
  filter( grain <= 24) %>% 
    raman_bygrain_figure()+
    labs(title = "PP3")+
    theme_figure()+
    guides(linetype = guide_legend(label.hjust = 0, label.vjust = 0.5, keyheight = 2),
            color="legend", 
            legend.position="bottom",
            fill=guide_legend(ncol=2))

pikesbygrain_subplot5 <- pikes_data %>% 
  filter (papername == "PP3") %>% 
  filter( grain > 24) %>% 
    raman_bygrain_figure()+ 
    labs(title = "PP3")+
    theme_figure()+
    guides(linetype = guide_legend(label.hjust = 0, label.vjust = 0.5, keyheight = 2),
            color="legend", 
            legend.position="bottom",
            fill=guide_legend(ncol=2))

pikesbygrain_subplot6 <- pikes_data %>% 
  filter (papername == "PP5") %>% 
  filter( grain <= 14) %>% 
    raman_bygrain_figure()+
    labs(title = "PP5")+
    theme_figure()+
    guides(linetype = guide_legend(label.hjust = 0, label.vjust = 0.5, keyheight = 2),
            color="legend", 
            legend.position="bottom",
            fill=guide_legend(ncol=2))

pikesbygrain_subplot7 <- pikes_data %>% 
  filter (papername == "PP5") %>% 
  filter( grain > 14) %>% 
    raman_bygrain_figure()+
    labs(title = "PP5")+
    theme_figure()+
    guides(linetype = guide_legend(label.hjust = 0, label.vjust = 0.5, keyheight = 2),
            color="legend", 
            legend.position="bottom",
            fill=guide_legend(ncol=2))

pikes_bygrain_subplot1

pikes_bygrain_subplot2

pikes_bygrain_subplot3

pikesbygrain_subplot4

pikesbygrain_subplot5

pikesbygrain_subplot6

pikesbygrain_subplot7

Figure S6

#PP1 
PP1_zhe <- pikes_zhe %>% 
  mutate (
    fullname = paste(papername, Grain)
  ) %>% 
    filter(fullname == "PP1 z23" | fullname == "PP1 z31" | fullname == "PP1 z32" | fullname == "PP1 z33" | fullname == "PP1 z36")

PP1_raman <- pikes_data %>% 
  filter(papername == "PP1") %>% 
    mutate( 
      Grain = 
        ifelse(grain == "23", "z23",
          ifelse(grain == 31, "z31",
            ifelse(grain == 32, "z32",
              ifelse(grain == 33, "z33", 
                ifelse(grain== 36, "z36", NA
                )     
              )    
            )
          )
        )
      ) %>% 
        mutate (fullname = paste(papername, Grain)) %>% 
          filter(fullname == "PP1 z23" | fullname == "PP1 z31" | fullname == "PP1 z32" | fullname == "PP1 z33" | fullname == "PP1 z36") 

PP1_all <- left_join(PP1_raman, PP1_zhe, by = "fullname")


PP1_zhevsFWHM <- PP1_all %>% ggplot()+
  aes(x = FWHM, y = Corr_Date, shape = fullname, fill = Sample) +
  geom_point(size = 4)+
  scale_shape_manual(values = c(21, 22, 23, 24, 25))+
  scale_fill_manual(values = c("#000004"))+
  scale_x_continuous(expand = c(0,0), limits = c(0,36))+
  scale_y_continuous(expand = c(0,0), limits = c(0,800))+
  xlab(TeX('$\\FWHM (cm^{-1})')) +
  ylab ("Zhe Date (Ma)")+
    theme_classic()+
    theme(
      panel.border=element_rect(fill=NA,size = 1),
      text = element_text(size = 12),
      axis.ticks = element_line(color="black"),
      axis.line = element_line(color = NA),
      axis.text.y = element_text(color = "black", size = 12),
      axis.text.x = element_text (color = "black", size = 12),
      axis.title.x = element_blank()
    )

print(PP1_zhevsFWHM)

PP1_eUvsFWHM <- PP1_all %>% ggplot()+
  aes(x = FWHM, y = eU, shape = fullname, fill = Sample) +
  geom_point(size = 4)+
  scale_shape_manual(values = c(21, 22, 23, 24, 25))+
  scale_fill_manual(values = c("#000004"))+
  scale_x_continuous(expand = c(0,0), limits = c(0,36))+
  scale_y_continuous(expand = c(0,0), limits = c(0,800))+
  xlab(TeX('$\\FWHM (cm^{-1})')) +
  ylab ("Zhe eU (ppm)")+
    theme_classic()+
    theme(
      panel.border=element_rect(fill=NA,size = 1),
      text = element_text(size = 12),
      axis.ticks = element_line(color="black"),
      axis.line = element_line(color = NA),
      axis.text.y = element_text(color = "black", size = 12),
      axis.text.x = element_text (color = "black", size = 12),
      axis.title.x = element_blank()
    )

print(PP1_eUvsFWHM)
## Warning: Removed 11 rows containing missing values (geom_point).

#PP3
PP3_zhe <- pikes_zhe %>% 
  mutate (
    fullname = paste(papername, Grain)
  ) %>% 
    filter(fullname == "PP3 z17" | fullname == "PP3 z21" | fullname == "PP3 z27") 

PP3_raman <- pikes_data %>% 
  filter(papername == "PP3") %>% 
    mutate( 
      Grain = 
        ifelse(grain == "17", "z17",
          ifelse(grain == 21, "z21",
            ifelse(grain == 27, "z27", NA
            )
              
          )     
        )    
      ) %>% 
        mutate (fullname = paste(papername, Grain)) %>% 
          filter(fullname == "PP3 z17" | fullname == "PP3 z21" | fullname == "PP3 z27")  

PP3_all <- left_join(PP3_raman, PP3_zhe, by = "fullname")


PP3_zhevsFWHM <- PP3_all %>% ggplot()+
  aes(x = FWHM, y = Corr_Date, shape = fullname, fill = Sample) +
  geom_point(size = 4)+
  scale_shape_manual(values = c( 22,  24, 25))+
  scale_fill_manual(values = c("#7D2482"))+
  scale_x_continuous(expand = c(0,0), limits = c(0,36))+
  scale_y_continuous(expand = c(0,0), limits = c(0,800))+
  xlab(TeX('$\\FWHM (cm^{-1})')) +
  ylab ("Zhe Date (Ma)")+
    theme_classic()+
    theme(
      panel.border=element_rect(fill=NA,size = 1),
      text = element_text(size = 12),
      axis.ticks = element_line(color="black"),
      axis.line = element_line(color = NA),
      axis.text.y = element_text(color = "black", size = 12),
      axis.text.x = element_text (color = "black", size = 12),
      axis.title.x = element_blank()
    )

print(PP3_zhevsFWHM)

PP3_eUvsFWHM <- PP3_all %>% ggplot()+
  aes(x = FWHM, y = eU, shape = fullname, fill = Sample) +
  geom_point(size = 4)+
  scale_shape_manual(values = c( 22,  24, 25))+
  scale_fill_manual(values = c("#7D2482"))+
  scale_x_continuous(expand = c(0,0), limits = c(0,36))+
  scale_y_continuous(expand = c(0,0), limits = c(0,800))+
  xlab(TeX('$\\FWHM (cm^{-1})')) +
  ylab ("Zhe eU (ppm)")+
    theme_classic()+
    theme(
      panel.border=element_rect(fill=NA,size = 1),
      text = element_text(size = 12),
      axis.ticks = element_line(color="black"),
      axis.line = element_line(color = NA),
      axis.text.y = element_text(color = "black", size = 12),
      axis.text.x = element_text (color = "black", size = 12),
      axis.title.x = element_blank()
    )

print(PP3_eUvsFWHM)

Other figures

Comparing Raman data and CL data

PP_CL_raman_summ <-  pikes_flatlist %>% 
  filter (papername == "PP1") %>% 
  filter (grain > 31) %>% 
  ggplot() +
  geom_point(aes(FWHM_median, FWHM_sd, fill = grain, label=grain))
## Warning: Ignoring unknown aesthetics: label
ggplotly(PP_CL_raman_summ)
## Warning in L$marker$color[idx] <- aes2plotly(data, params, "fill")[idx]: number
## of items to replace is not a multiple of replacement length
CL_raman <- pikes_data %>% 
  filter (papername == "PP1") %>% 
  filter (grain == 32 | grain == 33 | grain == 36) %>% 
  ggplot() +
  geom_point(aes(raman_shift, FWHM, color= as.character(grain), label=grain))+
  geom_line(data=Nasdala_idealized_line, aes(x=Nasdala_shift, y=Nasdala_FWHM))
## Warning: Ignoring unknown aesthetics: label
ggplotly(CL_raman)
me_cl_raman_summ <- evans_flatlist %>% 
  filter(papername == "ME2_3596" & grain == "z29" )